Component({
  properties: {
    // 当前页面路径
    currentPage: {
      type: String,
      value: 'pages/index/index'
    }
  },

  data: {
    activeTab: 'home',
    showTabBar: true,
    userBadge: '' // 用户徽章，可以显示未读消息数量
  },

  observers: {
    'currentPage': function(pagePath) {
      this.updateTabBar(pagePath)
    }
  },

  lifetimes: {
    attached() {
      // 组件初始化时获取当前页面信息
      const pages = getCurrentPages()
      if (pages.length > 0) {
        const currentPage = pages[pages.length - 1]
        this.updateTabBar(currentPage.route)
      }
    }
  },

  methods: {
    updateTabBar(pagePath) {
      if (!pagePath) return
      
      // 根据页面路径确定是否显示TabBar和当前激活的Tab
      const tabConfig = this.getTabConfig(pagePath)
      
      this.setData({
        activeTab: tabConfig.activeTab,
        showTabBar: tabConfig.showTabBar
      })
    },

    getTabConfig(pagePath) {
      // 页面配置映射
      const pageConfigs = {
        'pages/index/index': {
          activeTab: 'home',
          showTabBar: true
        },
        'pages/search/search': {
          activeTab: 'search',
          showTabBar: true
        },
        'pages/user/user': {
          activeTab: 'user',
          showTabBar: true
        },
        // 二级页面不显示TabBar
        'pages/news/list': {
          activeTab: '',
          showTabBar: false
        },
        'pages/news/detail/detail': {
          activeTab: '',
          showTabBar: false
        },
        'pages/login/login': {
          activeTab: '',
          showTabBar: false
        },
        'pages/favorites/favorites': {
          activeTab: '',
          showTabBar: false
        },
        'pages/history/history': {
          activeTab: '',
          showTabBar: false
        },
        'pages/education/education': {
          activeTab: '',
          showTabBar: false
        }
      }

      return pageConfigs[pagePath] || {
        activeTab: '',
        showTabBar: false
      }
    },

    handleTabChange(event) {
      const tabName = event.detail
      console.log('切换到标签:', tabName)
      
      // 可以在这里添加切换时的逻辑
      // 比如埋点统计、页面预加载等
    },

    navigateToHome() {
      if (this.data.activeTab !== 'home') {
        wx.reLaunch({
          url: '/pages/index/index'
        })
      }
    },

    navigateToSearch() {
      if (this.data.activeTab !== 'search') {
        wx.reLaunch({
          url: '/pages/search/search'
        })
      }
    },

    navigateToUser() {
      if (this.data.activeTab !== 'user') {
        wx.reLaunch({
          url: '/pages/user/user'
        })
      }
    },

    // 更新用户徽章（可以从外部调用）
    updateUserBadge(count) {
      this.setData({
        userBadge: count > 0 ? count.toString() : ''
      })
    },

    // 显示TabBar
    showTabBar() {
      this.setData({
        showTabBar: true
      })
    },

    // 隐藏TabBar
    hideTabBar() {
      this.setData({
        showTabBar: false
      })
    }
  }
})
